# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

UNIFIED_SOURCES += [
    'Helpers.cpp',
    'TestAtoms.cpp',
    'TestAutoPtr.cpp',
    'TestAutoRef.cpp',
    'TestBase64.cpp',
    'TestCallTemplates.cpp',
    'TestCloneInputStream.cpp',
    'TestCOMArray.cpp',
    'TestCOMPtrEq.cpp',
    'TestCRT.cpp',
    'TestEncoding.cpp',
    'TestEscapeURL.cpp',
    'TestExpirationTracker.cpp',
    'TestFile.cpp',
    'TestID.cpp',
    'TestNSPRLogModulesParser.cpp',
    'TestObserverArray.cpp',
    'TestObserverService.cpp',
    'TestPipes.cpp',
    'TestPLDHash.cpp',
    'TestPriorityQueue.cpp',
    'TestRacingServiceManager.cpp',
    'TestSlicedInputStream.cpp',
    'TestSnappyStreams.cpp',
    'TestStateWatching.cpp',
    'TestStorageStream.cpp',
    'TestStrings.cpp',
    'TestStringStream.cpp',
    'TestSynchronization.cpp',
    'TestTArray.cpp',
    'TestTArray2.cpp',
    'TestTextFormatter.cpp',
    'TestThreadPool.cpp',
    'TestThreadPoolListener.cpp',
    'TestThreads.cpp',
    'TestThreadUtils.cpp',
    'TestTimers.cpp',
    'TestTimeStamp.cpp',
    'TestTokenizer.cpp',
    'TestUTF.cpp',
    'TestXPIDLString.cpp',
]

if CONFIG['MOZ_DEBUG'] and CONFIG['OS_ARCH'] not in ('WINNT'):
    # FIXME bug 523392: TestDeadlockDetector doesn't like Windows
    UNIFIED_SOURCES += [
        'TestDeadlockDetector.cpp',
        'TestDeadlockDetectorScalability.cpp',
    ]

if CONFIG['OS_TARGET'] == 'WINNT':
    UNIFIED_SOURCES += [
        'TestFilePreferencesWin.cpp',
    ]

if CONFIG['WRAP_STL_INCLUDES'] and not CONFIG['CLANG_CL']:
    UNIFIED_SOURCES += [
        'TestSTLWrappers.cpp',
    ]

# Compile TestAllocReplacement separately so Windows headers don't pollute
# the global namespace for other files.
SOURCES += [
    'TestAllocReplacement.cpp',
    'TestCOMPtr.cpp', # Redefines IFoo and IBar
    'TestHashtables.cpp', # Redefines IFoo
    'TestNsRefPtr.cpp', # Redefines Foo
]

LOCAL_INCLUDES += [
    '../../base',
]

FINAL_LIBRARY = 'xul-gtest'
